Backpack to Work: Towards Practical Mixin Linking for Haskell

نویسندگان

  • Edward Yang
  • Scott Kilpatrick
  • Derek Dreyer
  • Simon Peyton Jones
چکیده

In this paper, we describe an evolution of the Backpack mixin package system which respects the division between package manager and compiler in the Haskell ecosystem: Backpack’16. Programs written in Backpack’16 are processed in two phases: first, a mixin linking phase which computes a “wiring diagram” of components indifferent to the actual Haskell source code, and then a typechecking phase on the output of mixin linking which processes Haskell source. This is not merely a paper design: our architecture was principally motivated by our experiences implementing Backpack’16 in the GHC compiler and the Cabal package system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Mixin Modules and Computational Effects

We define a calculus for investigating the interactions between mixin modules and computational effects, by combining the purely functional mixin calculus CMS with a monadic metalanguage supporting the two separate notions of simplification (local rewrite rules) and computation (global evaluation able to modify the store). This distinction is important for smoothly integrating the CMS rules (wh...

متن کامل

Expressive Modular Linking for Object-Oriented Languages

In this paper we show how modular linking of program fragments can be added to statically typed, object-oriented (OO) languages. Programs are being assembled out of separately developed software components deployed in binary form. Unfortunately, mainstream OO languages (such as Java) still do not provide support for true modular linking. Modular linking means that program fragments can be separ...

متن کامل

Memoizing a Monadic Mixin DSL

Modular extensibility is a highly desirable property of a domain-specific language (DSL): the ability to add new features without affecting the implementation of existing features. Functional mixins (also known as open recursion) are highly suitable for this purpose. We study the use of mixins in Haskell for a modular DSL for search heuristics used in systematic solvers for combinatorial proble...

متن کامل

Linking Managerial Coaching and Workplace Deviance: The Mediating Role of Thriving at Work

Workplace deviance is indeed an issue for any organization. Many researchers have endeavored to explore different predictors to control this problem. However, managerial coaching can be seen as a leading managerial practice to address this issue within the organizations. Using the LMX theory, a model was developed to explore the direct relationship between managerial coaching and workplace devi...

متن کامل

Lazy mixin modules and disciplined effects

Programming languages are expected to support programmer’s effort to structure program code. The ML module system, object systems and mixins are good examples of language constructs promoting modular programming. Among the three, mixins can be thought of as a generalization of the two others in the sense that mixins can incorporate features of ML modules and objects with a set of primitive oper...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016